package model;

/**
 * Die Klasse stellt ein Feld einer Organisationsebene dar (z.B. Dozent,
 * Semesterwochenstunden)
 * 
 * @author David
 * 
 */
public class Feld {
	public static final int TYP_TEXT_EINZEILIG = 0;
	public static final int TYP_TEXT_MEHRZEILIG = 1;
	public static final int TYP_ZAHL = 2;

	private int id;
	private int typ;
	private String name;
	private boolean dez2relevant;
	private long aenderung;
	private String wert;

	/*
	 * Beim Erstellen für ganz neue Felder das FelderRepository benutzen!
	 */
	/**
	 * Erstellt eine neue Feldinstanz. Diese methode wird nur bei
	 * Änderungsprozessen für Felder verwendet.
	 * 
	 * @param id
	 *            die ID
	 * @param typ
	 *            der Typ
	 * @param name
	 *            der Name
	 * @param dez2relevant
	 *            die Relevanz für das Dezernat2
	 * @param aenderung
	 *            das Änderungsdatum
	 * @param wert
	 *            der Wert
	 */
	public Feld(int id, int typ, String name, boolean dez2relevant,
			long aenderung, String wert) {
		this.id = id;
		this.typ = typ;
		this.name = name;
		this.dez2relevant = dez2relevant;
		this.aenderung = aenderung;
		this.wert = wert;
	}

	/**
	 * Gibt die ID zurück.
	 * 
	 * @return die ID
	 */
	public int getId() {
		return id;
	}

	/**
	 * Gibt den Typ zurück.
	 * 
	 * @return der Typ
	 */
	public int getTyp() {
		return typ;
	}

	/**
	 * Gibt den Namen zurück.
	 * 
	 * @return der Name
	 */
	public String getName() {
		return name;
	}

	/**
	 * Gibt die Relevanz für das Dezernat2 zurück.
	 * 
	 * @return die Relevanz für das Dezernat2
	 */
	public boolean isDez2relevant() {
		return dez2relevant;
	}

	/**
	 * Gibt das Änderungsdatum zurück.
	 * 
	 * @return das Änderungsdatum
	 */
	public long getAenderung() {
		return aenderung;
	}

	/**
	 * Gibt den Wert zurück.
	 * 
	 * @return der Wert
	 */
	public String getWert() {
		return wert;
	}

}
